# -*- coding: utf-8 -*-
from django.db import models
from comum.models import Setor, Pessoa
from djtools.dbfields import SearchField

class Categoria(models.Model):
    nome = models.CharField(u'Categoria', max_length=120)
    
    class Meta:
        verbose_name = u'Categoria'
        verbose_name_plural = u'Categorias'
        
    def __unicode__(self):
        return self.nome

class OcorrenciaStatus(models.Model):
    nome = models.CharField(u'Status', max_length=120)
    
    class Meta:
        verbose_name = u'Status da Ocorrência'
        verbose_name_plural = u'Status das Ocorrências'
        
    def __unicode__(self):
        return self.nome

class Tecnico(models.Model):
    nome = models.CharField(u'Nome', max_length=120)
    email = models.EmailField(u'Email', max_length=120)
    
    class Meta:
        verbose_name = u'Técnico'
        verbose_name_plural = u'Técnicos'
        
    def __unicode__(self):
        return self.nome
    
class Ocorrencia(models.Model):
    status = models.ForeignKey(OcorrenciaStatus, blank=True, null=True)
    data_chegada = models.DateField(verbose_name=u'Data de Chegada')
    data_saida = models.DateField(verbose_name=u'Data de Saída', null=True, blank=True)
    
    setor = models.ForeignKey(Setor)
    numero_patrimonio = models.IntegerField(u'Número do Patrimônio', blank=True, null=True)
    usuario = models.ForeignKey(Pessoa, related_name='usuario_pessoa_id', blank=True, null=True)
    
    categoria = models.ForeignKey(Categoria, blank=True, null=True)
    ocorretor = models.CharField(u'Realizado por', max_length=120)
    tecnico = models.ForeignKey(Tecnico, blank=True, null=True)
    problema = models.TextField(verbose_name=u'Problema', null=True, blank=True)
    observacao = models.TextField(verbose_name=u'Observação', null=True, blank=True)
    
    campo_busca = SearchField(search=['numero_patrimonio'])
    
    
    class Meta:
        ordering = ['status', 'data_saida']
        verbose_name = u'Ocorrência'
        verbose_name_plural = u'Ocorrências'
        
    def __unicode__(self):
        return "[%s] %s" % (self.status.nome, self.problema) 
    
    def get_absolute_url(self):
        return u'/helpdesk/ocorrencia/detalhe/%i/' % self.pk